home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 2002 November / SGI Freeware 2002 November - Disc 2.iso / dist / fw_gnome-pilot.idb / usr / freeware / include / gpilotd / gpilotd-conduit-mgmt.h.z / gpilotd-conduit-mgmt.h
C/C++ Source or Header  |  2001-10-09  |  4KB  |  109 lines

  1. /* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- *//* 
  2.  * Copyright (C) 1998-2000 Free Software Foundation
  3.  *
  4.  * This program is free software; you can redistribute it and/or
  5.  * modify it under the terms of the GNU General Public License as
  6.  * published by the Free Software Foundation; either version 2 of the
  7.  * License, or (at your option) any later version.
  8.  *
  9.  * This program is distributed in the hope that it will be useful,
  10.  * but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  12.  * General Public License for more details.
  13.  *
  14.  * You should have received a copy of the GNU General Public
  15.  * License along with this program; if not, write to the
  16.  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  17.  * Boston, MA 02111-1307, USA.
  18.  *
  19.  * Authors: Eskil Heyn Olsen
  20.  *
  21.  */
  22.  
  23.  
  24. #ifndef __GPILOTD_CONDUIT_MGMT_H
  25. #define __GPILOTD_CONDUIT_MGMT_H
  26.  
  27. #include <gnome.h>
  28. #include <gmodule.h>
  29. #include "gnome-pilot-conduit.h"
  30. /*#include "gpilot-structures.h"*/
  31.  
  32. #define USE_GMODULE
  33.  
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif /* __cplusplus */
  37.  
  38. typedef GnomePilotConduit *(*conduit_get_gpilot_conduit)(guint32);
  39. typedef void (*conduit_destroy_gpilot_conduit)(GnomePilotConduit *);
  40.  
  41. typedef struct _GnomePilotConduitMgmt GnomePilotConduitMgmt;
  42. struct _GnomePilotConduitMgmt {
  43.     gchar *name;
  44.     gchar *library_file;
  45. #ifdef USE_GMODULE
  46.     GModule *dlhandle;
  47. #else
  48.     void *dlhandle;
  49. #endif
  50.     conduit_get_gpilot_conduit get_gpilot_conduit;
  51.     conduit_destroy_gpilot_conduit destroy_gpilot_conduit;
  52. };
  53.  
  54. #define GPILOT_CONDUIT_MGMT(s) ((GnomePilotConduitMgmt*)(s))
  55.  
  56.   /* allocate structure for $(libdir)/gnome_pilot/conduits/libNAME.so */
  57. GnomePilotConduitMgmt *gpilotd_conduit_mgmt_new(gchar *name, gint pilotID);
  58.  
  59.   /* allocate structure for name which is an absolute file name */
  60. GnomePilotConduitMgmt *gpilotd_conduit_mgmt_new_absolute(gchar *name, gint pilotID);
  61.  
  62.   /* deallocate structure */
  63. void gpilotd_conduit_mgmt_free(GnomePilotConduitMgmt *);
  64.  
  65.   /* enable the conduit for a specific pilot, and set the conduits synctype */
  66. void gpilotd_conduit_mgmt_enable(GnomePilotConduitMgmt *conduit,
  67.                  gint pilot,
  68.                  GnomePilotConduitSyncType synctype);
  69.  
  70. /* enable the conduit for a specific pilot, and set the conduits
  71.    synctype and 1st sync synctype. Slow is only valid for 
  72.    firstsynctype = GnomePilotConduitSyncTypeSynchronize */
  73. void gpilotd_conduit_mgmt_enable_with_first_sync(GnomePilotConduitMgmt *conduit,
  74.                          gint pilot,
  75.                          GnomePilotConduitSyncType synctype,
  76.                          GnomePilotConduitSyncType firstsynctype,
  77.                          gboolean slow);
  78.     
  79.   /* disable the conduit for a specific pilot */
  80. void gpilotd_conduit_mgmt_disable(GnomePilotConduitMgmt *conduit,
  81.                   gint pilot);
  82.  
  83.   /* query the conduit "enabledness" for a specific pilot */
  84. gboolean gpilotd_conduit_mgmt_is_enabled(GnomePilotConduitMgmt *conduit,
  85.                      gint pilot);
  86.  
  87.   /* query the conduit "enabledness" for a specific pilot and get the synctype*/
  88. gboolean gpilotd_conduit_mgmt_get_sync_type(GnomePilotConduitMgmt *conduit,
  89.                         gint pilot,
  90.                         GnomePilotConduitSyncType *synctype);
  91.  
  92.   /* make a gnome_config_push that is prefixed with the gnome-pilot dir */
  93. void gpilotd_conduit_mgmt_config_push(GnomePilotConduitMgmt *conduit);
  94.  
  95.   /* deallocs structures etc */
  96. void gpilotd_conduit_mgmt_drop_all(void);
  97.   
  98. /* Removes settings the alter the first upcomming syncmethod of the conduit
  99.    given */
  100. void gpilotd_conduit_mgmt_remove_first_sync(GnomePilotConduitMgmt *conduit,
  101.                         gint pilot);
  102.  
  103.  
  104. #ifdef __cplusplus
  105. }
  106. #endif /* __cplusplus */
  107.  
  108. #endif /* __GPILOTD_CONDUIT_MGMT_H */
  109.